Providing content rotation during scroll action

ABSTRACT

A display application rotates content to provide a perspective view along the z-axis during a scroll action as a feedback to a user indicating a scroll action has reached a beginning or an end of available content. Determined direction and speed and/or acceleration of the scroll action is applied to move content and rotate it based on: a tilt angle proportional to the speed and/or acceleration and a rotation axis perpendicular to the direction. Additional content is displayed in the perspective view based on the tilt angle. And, the tilt angle is adjusted to rotate the content in response to reaching an end of the content during the scroll action or upon detecting a subsequent scroll action.

BACKGROUND

Mobile computing has transformed media consumption across markets.Miniaturization across product generations has enabled morefunctionality to be accomplished by smaller devices. A modern smartphonehas more computing capacity than a desktop computer a few years ago.Mature product processes have also enabled advances in technology to beintegrated to automated production of mobile devices seamlessly.Extensive automation has led to inexpensive components. Inexpensivecomponents have enabled manufacturing of inexpensive mobile devicesproviding functionality on the go.

Screen real estate is a substantial factor in content presentationwithin mobile computing. Minimal screen size in mobile devices may limitcontent presentation and force partitioning and formatting of content tosuit the physical limitations. Dynamic orientation changes also forcecontent providers to consider presentation formatting to suit deviceorientation. Formatting in landscape and portrait modes become crucialfor content consumption through mobile devices in order to accommodateusers constantly shifting their content consumption habits.

In legacy solutions, content applications provide scroll bars for usersto bring to view content that does not fit on a screen. In mobilesolutions, scroll bars utilize limited screen real estate. Additionally,content displayed on a screen is presented in a constant size during ascroll action in legacy implementations. Present solutions also arelimited in responding to reaching an end of the content during a scrollaction. Some solutions simply stop moving the content in response toreaching an end. Others use a spring effect to notify the user that noadditional content exists. No present solution adequately solves issuesof presenting richer content during scrolling or proper notificationabout reaching an end of the content.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This summary is not intended to exclusively identify keyfeatures or essential features of the claimed subject matter, nor is itintended as an aid in determining the scope of the claimed subjectmatter.

Embodiments are directed to providing content rotation during a scrollaction as a feedback to a user indicating a scroll action has reached abeginning or an end of available content. According to some embodiments,a display application displaying content may detect a scroll action froma captured gesture. A gesture may include a variety of user actions toindicate a scroll movement to the application. The application maydetermine a direction and speed and/or acceleration of the scroll actionand move the content in the determined direction based on the detectedspeed and/or acceleration.

The content may be rotated on at least one axis perpendicular to thedirection based on a tilt angle in proportion to the speed and/oracceleration of the scroll action. The rotation may display the contentin a three dimensional (3D) perspective view where a displayed edge ofthe content is tilted compared to the opposite displayed edge. The tiltangle may be set in proportion to the speed and/or acceleration of thescroll motion. An increase in speed and/or acceleration of the scrollaction may increase the tilt angle. Rotation of the content may alsobring into view additional parts of the content. In addition, the tiltangle may be adjusted in relation to the speed and/or acceleration ofthe scroll action or a subsequent scroll action when an end of thecontent is reached.

These and other features and advantages will be apparent from a readingof the following detailed description and a review of the associateddrawings. It is to be understood that both the foregoing generaldescription and the following detailed description are explanatory anddo not restrict aspects as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example concept diagram of providing contentrotation during a scroll action according to some embodiments;

FIG. 2 illustrates an example of content rotation in response to ascroll action according to embodiments;

FIG. 3 illustrates other content rotation examples in response to scrollactions in other directions according to embodiments;

FIG. 4 illustrates an example of a skewed rotation in response to ascroll action having a direction in an angle other than 0, 90, 180, or270 degrees according to embodiments;

FIG. 5 illustrates examples of adjusting a tilt angle in proportion tothe speed of scroll actions according to embodiments;

FIG. 6 is a networked environment, where a system according toembodiments may be implemented;

FIG. 7 is a block diagram of an example computing operating environment,where embodiments may be implemented; and

FIG. 8 illustrates a logic flow diagram for a process providing contentrotation during a scroll action according to embodiments.

DETAILED DESCRIPTION

As briefly described above, content may be rotated during a scrollaction. A display application may determine direction and speed of ascroll action detected on a displayed content. The content may be movedbased on the detected speed while rotating the content on a rotationaxis perpendicular to the direction based on a tilt angle determined inproportion to the detected speed. The tilt angle may be adjusted inproportion to the speed of the scroll action upon reaching an end of thecontent.

In the following detailed description, references are made to theaccompanying drawings that form a part hereof, and in which are shown byway of illustrations specific embodiments or examples. These aspects maybe combined, other aspects may be utilized, and structural changes maybe made without departing from the spirit or scope of the presentdisclosure. The following detailed description is therefore not to betaken in a limiting sense, and the scope of the present disclosure isdefined by the appended claims and their equivalents.

While the embodiments will be described in the general context ofprogram modules that execute in conjunction with an application programthat runs on an operating system on a computing device, those skilled inthe art will recognize that aspects may also be implemented incombination with other program modules.

Generally, program modules include routines, programs, components, datastructures, and other types of structures that perform particular tasksor implement particular abstract data types. Moreover, those skilled inthe art will appreciate that embodiments may be practiced with othercomputer system configurations, including hand-held devices,multiprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers, and comparablecomputing devices. Embodiments may also be practiced in distributedcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed computing environment, program modules may be located inboth local and remote memory storage devices.

Embodiments may be implemented as a computer-implemented process(method), a computing system, or as an article of manufacture, such as acomputer program product or computer readable media. The computerprogram product may be a computer storage medium readable by a computersystem and encoding a computer program that comprises instructions forcausing a computer or computing system to perform example process(es).The computer-readable storage medium is a computer-readable memorydevice. The computer-readable storage medium can for example beimplemented via one or more of a volatile computer memory, anon-volatile memory, a hard drive, a flash drive, a floppy disk, or acompact disk, and comparable media.

Throughout this specification, the term “platform” may be a combinationof software and hardware components for providing content rotationduring a scroll action. Examples of platforms include, but are notlimited to, a hosted service executed over a plurality of servers, anapplication executed on a single computing device, and comparablesystems. The term “server” generally refers to a computing deviceexecuting one or more software programs typically in a networkedenvironment. However, a server may also be implemented as a virtualserver (software programs) executed on one or more computing devicesviewed as a server on the network. More detail on these technologies andexample operations is provided below.

FIG. 1 illustrates an example concept diagram of providing contentrotation during a scroll action according to some embodiments. Thecomponents and environments shown in diagram 100 are for illustrationpurposes. Embodiments may be implemented in various local, networked,cloud-based and similar computing environments employing a variety ofcomputing devices and systems, hardware and software.

A device 106 may display content 110 to a user 114. Device 106 is notlimited to example smart phone, however device may also include othermobile and non-mobile devices capable of detecting gestures. The user114 may interact with the content through a gesture 112. The device 106may detect a variety of gestures from user inputs including keyboard,mouse, pen, voice, touch, visual, etc. The device may rotate the content110 corresponding to a scroll action detected from the captured gesture.The user 114 may use a swipe action, a voice command, a visual cue suchas an eye movement to provide the scroll action. The device 106 mayutilize a touch screen, a camera, or a microphone to capture the gestureused to provide the scroll action.

The device 106 may load the content 110 from local storage. The content110 may be any type of media including text, graphic, audio, video, orcombinations. Alternatively, the content 110 may be retrieved from adata source such as a data store 102 or from a media server 104. Thedata store 102 and media server 104 may be available through a localnetwork accessible by the device 106. Alternatively, the data store 102and media server 104 may make content 110 available through remoteservices such as a cloud hosted content service.

Embodiments are not limited to implementation in a device 106 such as asmart phone. A display application according to embodiments may providecontent rotation during a scroll action in other platforms. A user mayexperience content rotation during a scroll action in any device capableof displaying the content. In addition to a touch-enabled device,content rotation during scrolling may be accomplished through otherinput mechanisms such as optical gesture capture, a gyroscopic inputdevice, a mouse, a keyboard, an eye-tracking input, and comparablesoftware and/or hardware based technologies. For the purposes of theembodiments, Cartesian coordinate system defines x-axis as all pointsbetween 90 and 270 degrees and y axis as all points between 0 and 180degrees. Z-axis is the third dimension tangential to the x and y-axis.

FIG. 2 illustrates an example of content rotation in response to ascroll action according to embodiments. Diagram 200 displays a displayapplication of a device (such as a smartphone) rotating content inresponse to a detected scroll action based on the direction and speed ofthe scroll action.

The device 202 may display content 204 on its display surface. Thedisplay surface may be touch enabled to capture gestures used tointeract with the content. Alternatively, a gesture to interact with thecontent 204 may be captured through other hardware of the device 202such as a camera or a microphone. In addition, the content 204 may bepartitioned to parts such as text, image, etc. The content may also besized and formatted to suit a particular purpose such as presentation ina mobile setting where screen space may be limited.

In legacy solutions, when a screen size is insufficient to displayentire content, a display application provided scroll features such asscroll bars to move through the content. Unlike legacy solutions,embodiments rotate the content during a scroll action. The content maybe rotated in a rotation axis which may include the x or y axis 206.Rotating the content may be initiated by the device 208 detecting ascroll action 212 in a captured gesture. The captured gesture may be aswipe action determined to be the scroll action 212 along y-axis. Thedirection of the scroll action may determine the rotation axis, as theapplication may rotate the content on a perpendicular axis in relationto the direction of the scroll.

As stated previously, the direction of the scroll action may determinethe rotation axis. The application may interpret the direction of thescroll action to align with x or y axis. In an example scenario, theapplication may interpret a scroll action having an angle other than 0,90, 180, or 270 degrees to move in only x or y axis in relation to thedevice 208. The rotation axis may be selected based on proximity of thedirection of the scroll action to the x and y-axis. If the direction ofthe scroll action 212 is less than a 45 degree angle from the x-axisthen the scroll action may be interpreted to move along the x-axis. Ifthe direction of the scroll action is less than a 45 degree angle fromthe y-axis then the scroll action may be interpreted to move along they-axis. If the direction of the scroll action is exactly at 45 degreeangle from either x or y-axis in relation to the device 208 then thedirection may be determined based on a system setting or a userpreference. The system setting may include the orientation of thecontent in relation to the display surface of the device 208. Inaddition, the application may select the x-axis as the rotation axis ifthe direction is determined to have an angle of 0 or 180 degrees.Alternatively, the application may select the y-axis as the rotationaxis if the direction is determined to have an angle of 90 or 270degrees. The angle of the direction may be determined based on anaverage of a predetermined number of sampled direction angles measuredduring the length of the scroll action for a non-linear scroll action.

Subsequent to determining a direction of the scroll action 212, thecontent 210 may be rotated on a rotation axis perpendicular to thedirection. The application may select a rotation point on a top edge 214of a display surface of the device 208 opposite from an edge on a pathof the scroll action. Alternatively, the rotation point may be a contententry location on to the display surface. Yet, in other examples, therotation point may be determined by a predetermined system setting ormay be a user configurable setting at any location on the displaysurface of a device. In an example scenario, the predetermined systemsetting may define the rotation point as a middle location of thedisplay surface. In such a scenario, the application may rotate thecontent based on a middle location of the display surface on a rotationaxis determined based on the direction of the scroll action.

The application may display additional content while rotating thecontent during a scroll action 212. The application may provide aperspective view of the content 210 along the z-axis. The applicationmay fit additional parts of the content 210 into the perspective viewcompared to a planar view. A user desiring to view additional contentmay provide a scroll action to the device 208 and preview additionalcontent compared to a planar view of the content.

FIG. 3 illustrates other content rotation examples in response to scrollactions in other directions according to embodiments. Diagram 300displays rotation of content in response to a scroll action 308 towardsa top edge of device 302 and another rotation of content in response toanother scroll action 312 towards a side edge of the device 310.

Display applications executed in devices 302 and 310 may rotate contents304 and 314 respectively. Content on a device may be rotated in arotation axis which may include x, and y axis 306 perpendicular to adetermined direction of the scroll action. The direction of the scrollaction may be interpreted to move in only x or y axis. The direction ofthe scroll action may be determined based on a scheme as described abovein association with FIG. 2. In addition, contents 304 and 314 may becomposed of multiple parts such as text, images, etc. The displayedcontent may be formatted based on a device orientation as describedabove.

Device 302 may detect a scroll action 308 in a direction on the y-axistowards a top edge of the device's display surface. In response to thescroll action 308, the display application may rotate the content 304 onthe x-axis perpendicular to the direction of the scroll action 308. Therotation point may be a bottom edge of the display surface of the device302 opposite from an edge on a path of the scroll action.

Alternatively, device 310 may detect a scroll action 312 in a directionon the x-axis towards a right edge of the device's display surface. Inresponse to the scroll action 312, the display application may rotatethe content 314 on the y-axis perpendicular to the direction of thescroll action 312. The rotation point may be a left edge of the displaysurface of the device 310 opposite from an edge on a path of the scrollaction. Yet, in another example scenario, the content may be rotated onthe y-axis on a rotation point on the right edge of the display surfacein response to a scroll action towards left edge of the display surface.

Embodiments, are not limited to detecting scroll actions on only x or yaxis and rotating the content in a perpendicular axis to the directionof the scroll action. The content may be rotated in any rotation pointon the display surface of the device. In addition, the content may berotated in a skewed rotation to correspond to an angle other than 0, 90,180, or 270 degrees of the direction of the scroll action.

FIG. 4 illustrates an example of a skewed rotation in response to ascroll action having a direction in an angle other than 0, 90, 180, or270 degrees according to embodiments. Diagram 400 displays a device 402executing a display application rotating the content 408.

The device 402 may display content 408 based on device or applicationsettings as described above. The display application, according toembodiments, may detect a scroll action 404. Unlike above embodiments,the display application may not limit interpretation of a direction ofthe scroll action to only a movement on x or y axis 406. The applicationmay interpret the scroll action 404 to move along both x and y-axis androtate the content 408 accordingly.

The device 402 may rotate the content 408 in relation to a scroll action404 having vertical and horizontal components. The rotation axis may bedetermined to be perpendicular to the scroll action and the rotationaxis may be at a degree in between x and y-axis. The rotation point maybe an edge away from the path of the direction of the scroll action 404.The edge used as the rotation point may be determined as the edgeperpendicular to either x or y axis which is less than a 45 degree angleto the direction of the scroll action 404. The application may select anedge used as a rotation point for a scroll action having a direction ina 45 degree angle from x or y axis based on a predetermined systemsetting or a user configurable setting.

The display application may provide a skewed perspective view of thecontent 408 along x and y-axis as a result of the skewed rotation. Theskewed perspective view may display additional content along x or y axiswhile rotating the content.

FIG. 5 illustrates examples of adjusting a tilt angle in proportion tothe speed of the scroll actions according to embodiments. Diagram 500illustrates two examples adjusting a tilt angle of the content inproportion to the detected speed of a scroll action.

Device 502 may detect a speed of scroll action 508 for rotating thecontent 504 on x and/or y axis to display a perspective view along thez-axis 506. A display application of device 502 may determine a tiltangle for rotating the content 504 in proportion to the detected speedof the scroll action 508. The proportion between the tilt angle and thedetected speed of the scroll action 508 may be determined based on apredetermined system setting or a user configurable setting. Theproportion also determines a depth of the perspective view whilerotating the content 504. The display application increases additionalcontent in the perspective view in response to an increase in theproportion. The display application decreases additional content in theperspective view in response to a decrease in the proportion. The tiltangle may gradually be adjusted to 0 degree if the device 502 does notdetect a subsequent a scroll action or if the display applicationreaches an end of the content.

Similarly, device 510 detects a scroll action 514 with an increasedspeed compared to the scroll action 508 on device 502. In response tothe increased speed of the scroll action 514, the display application ofdevice 510 may adjust the tilt angle to an increased value for rotatingthe content 512. The display application of device 510 may displayadditional content in proportion to the increased value of the tiltangle. As such, the display application may rotate the content 512displaying additional content in proportion to the tilt angle which isin proportion to the detected speed of the scroll action 514. If theapplication does not detect a subsequent scroll action or if it reachesan end of the content, the tilt angle may gradually be adjusted to 0degrees.

In other embodiments, in response to detecting a subsequent scrollaction while displaying an end of the content, the display applicationmay only adjust the tilt angle to rotate the content. If the directionof the subsequent scroll action is away from the end of the content thanthe display application may adjust the tilt angle in proportion to thespeed and/or acceleration of the subsequent scroll action.

In yet other embodiments, a device capable of detecting a scroll actionfrom a captured gesture may be enabled to track a user's eye movement.The device may interpret the user's eye movement as a scroll action. Inan example scenario, the device may interpret a user's eye movementtowards an edge of the device's display surface as a scroll action in adirection toward the edge. In such a scenario, the display applicationmay rotate the content based on a predetermined tilt angle and move thecontent in the direction of the scroll action based on a predeterminedspeed and/or acceleration. The application may also measure the speedand/or acceleration of the eye rotation and adjust the tilt angle of thecontent and the speed and/or acceleration of the scroll action inproportion to the speed and/or acceleration of the eye rotation.

The example scenarios and schemas in FIG. 2 through 5 are shown withspecific components, data types, and configurations. Embodiments are notlimited to systems according to these example configurations. Providingcontent rotation during a scroll action may be implemented inconfigurations employing fewer or additional components in applicationsand user interfaces. Furthermore, the example schema and componentsshown in FIG. 2 through 5 and their subcomponents may be implemented ina similar manner with other values using the principles describedherein.

FIG. 6 is a networked environment, where a system according toembodiments may be implemented. Local and remote resources may beprovided by one or more servers 614 or a single server (e.g. web server)616 such as a hosted service. An application may execute on individualcomputing devices such as a smart phone 613, a tablet device 612, or alaptop computer 611 (‘client devices’) and communicate with a contentresource through network(s) 610.

As discussed above, a display application may provide content rotationduring a scroll action. The display application may rotate content in arotation axis perpendicular to a detected direction of a scroll action.The rotation may be adjusted based on a tilt angle in proportion to adetected speed and/or acceleration of the scroll action. Client devices611-613 may enable access to applications executed on remote server(s)(e.g. one of servers 614) as discussed previously. The server(s) mayretrieve or store relevant data from/to data store(s) 619 directly orthrough database server 618.

Network(s) 610 may comprise any topology of servers, clients, Internetservice providers, and communication media. A system according toembodiments may have a static or dynamic topology. Network(s) 610 mayinclude secure networks such as an enterprise network, an unsecurenetwork such as a wireless open network, or the Internet. Network(s) 610may also coordinate communication over other networks such as PublicSwitched Telephone Network (PSTN) or cellular networks. Furthermore,network(s) 610 may include short range wireless networks such asBluetooth or similar ones. Network(s) 610 provide communication betweenthe nodes described herein. By way of example, and not limitation,network(s) 610 may include wireless media such as acoustic, RF, infraredand other wireless media.

Many other configurations of computing devices, applications, datasources, and data distribution systems may be employed to providecontent rotation during a scroll action. Furthermore, the networkedenvironments discussed in FIG. 6 are for illustration purposes only.Embodiments are not limited to the example applications, modules, orprocesses.

FIG. 7 and the associated discussion are intended to provide a brief,general description of a suitable computing environment in whichembodiments may be implemented. With reference to FIG. 7, a blockdiagram of an example computing operating environment for an applicationaccording to embodiments is illustrated, such as computing device 700.In a basic configuration, computing device 700 may include at least oneprocessing unit 702 and system memory 704. Computing device 700 may alsoinclude a plurality of processing units that cooperate in executingprograms. Depending on the exact configuration and type of computingdevice, the system memory 704 may be volatile (such as RAM),non-volatile (such as ROM, flash memory, etc.) or some combination ofthe two. System memory 704 typically includes an operating system 705suitable for controlling the operation of the platform, such as theWINDOWS® and WINDOWS PHONE® operating systems from MICROSOFT CORPORATIONof Redmond, Wash. The system memory 704 may also include one or moresoftware applications such as program modules 706, a display application722, and a rotation module 724.

A display application 722 may detect a scroll action on displayedcontent. The display application 722 may determine a direction and aspeed and/or acceleration of the scroll action. The rotation module 724may rotate the displayed content based on a tilt angle in proportion tothe determined speed and/or acceleration and on an axis perpendicular tothe direction of the scroll action. A perspective view along z-axis ofthe content may be displayed as the content is moved by the application722 in response to the scroll action. This basic configuration isillustrated in FIG. 7 by those components within dashed line 708.

Computing device 700 may have additional features or functionality. Forexample, the computing device 700 may also include additional datastorage devices (removable and/or non-removable) such as, for example,magnetic disks, optical disks, or tape. Such additional storage isillustrated in FIG. 7 by removable storage 709 and non-removable storage710. Computer readable storage media may include volatile andnonvolatile, removable and non-removable media implemented in any methodor technology for storage of information, such as computer readableinstructions, data structures, program modules, or other data. Computerreadable storage media is a computer readable memory device. Systemmemory 704, removable storage 709 and non-removable storage 710 are allexamples of computer readable storage media. Computer readable storagemedia includes, but is not limited to, RAM, ROM, EEPROM, flash memory orother memory technology, CD-ROM, digital versatile disks (DVD) or otheroptical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed bycomputing device 700. Any such computer readable storage media may bepart of computing device 700. Computing device 700 may also have inputdevice(s) 712 such as keyboard, mouse, pen, voice input device, touchinput device, and comparable input devices. Output device(s) 714 such asa display, speakers, printer, and other types of output devices may alsobe included. These devices are well known in the art and need not bediscussed at length here.

Computing device 700 may also contain communication connections 716 thatallow the device to communicate with other devices 718, such as over awireless network in a distributed computing environment, a satellitelink, a cellular link, and comparable mechanisms. Other devices 718 mayinclude computer device(s) that execute communication applications,storage servers, and comparable devices. Communication connection(s) 716is one example of communication media. Communication media can includetherein computer readable instructions, data structures, programmodules, or other data in a modulated data signal, such as a carrierwave or other transport mechanism, and includes any information deliverymedia. The term “modulated data signal” means a signal that has one ormore of its characteristics set or changed in such a manner as to encodeinformation in the signal. By way of example, and not limitation,communication media includes wired media such as a wired network ordirect-wired connection, and wireless media such as acoustic, RF,infrared and other wireless media.

Example embodiments also include methods. These methods can beimplemented in any number of ways, including the structures described inthis document. One such way is by machine operations, of devices of thetype described in this document.

Another optional way is for one or more of the individual operations ofthe methods to be performed in conjunction with one or more humanoperators performing some. These human operators need not be co-locatedwith each other, but each can be only with a machine that performs aportion of the program.

FIG. 8 illustrates a logic flow diagram for a process providing contentrotation during a scroll action according to embodiments. Process 800may be implemented by a display application in some examples.

Process 800 may begin with operation 810 where the display applicationmay display content. The content may be composed of one or more partsformatted based on system or user settings. At operation 820, a scrollaction may be detected from a captured gesture interacting with thecontent. The gesture may include various input forms including touch,visual, audio, keyboard, mouse, pen, and combinations. Next, theapplication may determine a direction and a speed and/or acceleration ofthe scroll action at operation 830. The direction determination may bebased on an average of sampled direction measurements during the scrollaction measured based on a sample frequency. The speed and/oracceleration determination may be based on averaging sampled speedand/or acceleration measurements during the scroll action measured basedon a sample frequency. Sampling frequency may be retrieved from apredetermined system setting or a user adjustable value.

The application may move the content based on the speed and/oracceleration in the direction of the scroll action at operation 840.While moving the content, the application may rotate the content on arotation axis perpendicular to the direction based on a tilt angle inproportion to the speed and/or acceleration of the scroll action atoperation 850. The proportion may be user adjustable to controladditional content displayed by the perspective view during the scrollaction. In response to reaching an end of the content, the applicationmay adjust the tilt angle of the content in proportion to the speedand/or acceleration of the scroll action or the speed and/oracceleration of a subsequent scroll action at operation 860. The tiltangle may be adjusted gradually to 0 degrees if another scroll action isnot detected.

Some embodiments may be implemented in a computing device that includesa communication module, a memory, and a processor, where the processorexecutes a method as described above or comparable ones in conjunctionwith instructions stored in the memory. Other embodiments may beimplemented as a computer readable storage medium with instructionsstored thereon for executing a method as described above or similarones.

The operations included in process 800 are for illustration purposes.Providing content rotation during a scroll action, according toembodiments, may be implemented by similar processes with fewer oradditional steps, as well as in different order of operations using theprinciples described herein.

The above specification, examples and data provide a completedescription of the manufacture and use of the composition of theembodiments. Although the subject matter has been described in languagespecific to structural features and/or methodological acts, it is to beunderstood that the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims and embodiments.

What is claimed is:
 1. A method executed on a computing device forproviding a rotation of a content during a scroll action, the methodcomprising: displaying the content; detecting the scroll action from acaptured gesture interacting with the content; determining a directionand one of a speed and an acceleration of the scroll action; moving thecontent based on the speed in the direction of the scroll action;rotating the content on a rotation axis perpendicular to the directionbased on a tilt angle in proportion to the speed of the scroll action,wherein the proportion between the tilt angle and the speed of thescroll action during the rotation of the content determines a depth of aperspective view along a z-axis; and in response to reaching an end ofthe content, adjusting the tilt angle of the content in proportion tothe one of the speed and acceleration of the scroll action.
 2. Themethod of claim 1, further comprising: retrieving a sample frequency formeasurements of the direction based on at least one of: a predeterminedsystem setting and a user adjustable value; and determining thedirection based on an average of sampled measurements of the directionof the scroll action measured based on the sample frequency.
 3. Themethod of claim 1, further comprising: retrieving a sample frequency formeasurements of the speed based on at least one of: a predeterminedsystem setting and a user adjustable value; and determining the speedbased on an average of sampled measurements of the speed of the scrollaction measured based on the sample frequency.
 4. The method of claim 1,further comprising: interpreting the scroll action to move in thedirection on one of: an x-axis and a y-axis in response to detecting thedirection having the tilt angle other than about 0 degrees, about 90degrees, about 180 degrees, and about 270 degrees.
 5. The method ofclaim 4, further comprising: selecting the x-axis as the rotation axisin response to the direction being less than a 45 degree tilt angle fromthe y-axis.
 6. The method of claim 4, further comprising: selecting they-axis as the rotation axis in response to the direction being less thana 45 degree tilt angle from the x-axis.
 7. The method of claim 4,further comprising: selecting one of: the x-axis and the y-axis as therotation axis in response to the direction being at a 45 degree tiltangle from one of: the x-axis and the y-axis based on at least one of: apredetermined system setting and a user preference.
 8. The method ofclaim 1, further comprising: selecting an x-axis as the rotation axis inresponse to determining the direction having the tilt angle includingone of: about 0 degrees and about 180 degrees; and selecting a y-axis asthe rotation axis in response to determining the direction having thetilt angle including one of: about 90 degrees and about 270 degrees. 9.The method of claim 1, further comprising: determining a rotation pointat an edge of a display surface of the computing device opposite anotheredge on a path of the direction of the scroll action.
 10. The method ofclaim 1, further comprising: determining a rotation point based on oneof: a content entry location on to a display surface of the computingdevice, and at least one of: a predetermined system setting and a userconfigurable setting at a location on the display surface of thecomputing device.
 11. A computing device for providing a rotation of acontent during a scroll action, the computing device comprising: amemory configured to store instructions; and a processor coupled to thememory, the processor executing a display application in conjunctionwith the instructions stored in the memory, wherein the displayapplication is configured to: display the content; detect the scrollaction from a captured gesture interacting with the content; retrieve afirst sample frequency for measurements of a direction and a secondsample frequency for measurements of a speed based on at least one of:predetermined system settings and user adjustable values; determine thedirection based on an average of sampled measurements of the directionof the scroll action measured based on the first sample frequency;determine the speed based on an average of sampled measurements of thespeed measurements of the scroll action measured based on the secondsample frequency; move the content based on the speed in the directionof the scroll action; determine a rotation point at an edge of a displaysurface of the computing device, opposite another edge, on a path of thedirection of the scroll action; rotate the content on the rotation pointand on a rotation axis perpendicular to the direction based on a tiltangle in proportion to the speed of the scroll action, wherein theproportion between the tilt angle and the speed of the scroll actionduring the rotation of the content determines a depth of a perspectiveview along a z-axis; and in response to reaching an end of the content,adjust the tilt angle of the content in proportion to the speed of thescroll action.
 12. The computing device of claim 11, wherein theapplication is further configured to: display additional content in theperspective view along the z-axis in proportion to the tilt angle whilerotating the content.
 13. The computing device of claim 12, wherein theapplication is further configured to: determine the proportion based onat least one of: another predetermined system setting and a userconfigurable setting.
 14. The computing device of claim 13, wherein theapplication is further configured to: increase additional content in theperspective view in response to an increase in at least one of: thespeed and the proportion; and decrease the additional content in theperspective view in response to a decrease in at least one of: the speedand the proportion.
 15. The computing device of claim 11, wherein theapplication is further configured to: gradually adjust the tilt angle toabout 0 degrees in response to at least one of: not detecting anotherscroll action and reaching the end of the content.
 16. The computingdevice of claim 11, wherein the application is further configured to: inresponse to reaching the end of the content and detecting another scrollaction, rotate the content based on another rotation axis perpendicularto another direction of the other scroll action and another tilt anglein proportion to another speed of the other scroll action.
 17. A methodexecuted on a computing device for providing a rotation of a contentduring a scroll action, the method comprising: displaying the content;detecting the scroll action from a captured gesture interacting with thecontent; retrieving a first sample frequency for measurements of adirection and a second sample frequency for one of measurements of aspeed and measurements of an acceleration based on at least one of:predetermined system settings and user adjustable values; determiningthe direction based on an average of sampled measurements of thedirection of the scroll action measured based on the first samplefrequency; determining one of the speed and the acceleration based on anaverage of one or more of sampled measurements of the speed and sampledmeasurements of the acceleration of the scroll action measured based onthe second sample frequency; moving the content based on the one of thespeed and acceleration in the direction of the scroll action; rotatingthe content on a rotation axis perpendicular to the direction based on atilt angle in proportion to the one of the speed and acceleration of thescroll action, wherein the rotation axis is a two-dimensional projectionof a scene onto a display surface, and wherein the proportion betweenthe tilt angle and the speed of the scroll action during the rotation ofthe content determines a depth of a perspective view along a z-axis;displaying additional content in the perspective view along the z-axisin proportion to the tilt angle while rotating the content; and inresponse to reaching an end of the content and detecting another scrollaction, rotating the content based on another rotation axisperpendicular to another direction of the other scroll action andanother tilt angle in proportion to another one of the speed andacceleration of the other scroll action.
 18. The method of claim 17,further comprising: determining the rotation axis to be at a degreebetween an x-axis and a y-axis perpendicular to the direction of thescroll action.
 19. The method of claim 18, further comprising: providinga skewed perspective view of the content along the x-axis and the y-axiswhile rotating the content.
 20. The method of claim 19, furthercomprising: displaying additional content along the x-axis and they-axis while rotating the content.